The present invention relates to an apparatus for managing distributed software development, and more particularly to an apparatus for managing a plurality of versions of a software system.
In distributed software development, a software system is divided into subsystems and the subsystems are developed separately.
The function of each subsystem is stated in a document called a program specification (hereinafter referred to as a "specification"). The specification is described in a format that is easy to understand such as a tabular format. Programmers produce source programs in accordance with the specifications. The source programs are compiled and linked together to produce an object program.
The specifications are saved after the system is released and referred to for debugging or upgrading of the system.
Typically, software manufacturers revise a software system frequently and produce many versions of the systems. Many versions of the specification are also produced to describe the function of the corresponding version of the system.
When the difference between first and second versions of a system is examined, the specification of the first version is compared with that of the second version. Therefore, it is essential to keep records of the correspondence between a specific version of the system and the specifications describing this system.
However, in a distributed development system, it is difficult to keep such a record because the subsystems are revised often separately at different times by different programmers.